package com;
/**
 * 创建
 * 就绪
 * 运行
 * 阻塞
 * 复活
 * 死亡
 * 
 * setName() : 给线程设置名字,默认是Thread-0开始依次递增
 * 
 * getName() : 获取名字
 * 
 * static currentThread (): 获取当前线程的内存地址
 * 
 * static sleep(): 让当前线程睡眠,参数是毫秒
 * 
 * setPriority() : 设置线程优先级
 * 
 * 		java 中有 1-10 10个级别
 * 		提供了三个常量 方便我们使用
 * 
 * MIN_PRIORITY 1
 * NORM_PRIORITY 5
 * MAX_PRIORITY 10
 * 
 * 默认子类继承父类优先级,Thread的优先级是5
 * 
 * 
 * @author lenovo
 * @date 2020年7月24日
 */
public class Thread_02_Lifecycle {

	public static void main(String[] args) {
		Thread t1 = new Processor3();
		Thread t2 = new Processor3();
		// 对 t1 线程设置名字,t2 线程没有设置,默认是 Thread-1

		t1.setName("t1");
		t1.start();
		t2.start();

		// 设置优先级
		Thread.currentThread().setPriority(10);
		for (int i = 0; i < 10; i++) {
			// main 线程 名字叫 main
			System.out.println(Thread.currentThread().getName() + "==>" + i);
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
		}
	}

}

class Processor3 extends Thread {
	@Override
	public void run() {
		for (int i = 0; i < 10; i++) {
			System.out.println(getName() + " ===> " + i);
			try {
				Thread.sleep(1000);
			} catch (InterruptedException e) {
				e.printStackTrace();
			}
		}
	}
}